// app.js
App({
    onLaunch() {

        if (!wx.cloud) {
          console.error('请使用 2.2.3 或以上的基础库以使用云能力')
        } else {
          wx.cloud.init({
            // env 参数说明：
            //   env 参数决定接下来小程序发起的云开发调用（wx.cloud.xxx）会默认请求到哪个云环境的资源
            //   此处请填入环境 ID, 环境 ID 可打开云控制台查看
            //   如不填则使用默认环境（第一个创建的环境）
            env: 'cjcloud-6ganz9nf315527f9',
            traceUser: true,
          })
        }
        
        // 展示本地存储能力
        const logs = wx.getStorageSync('logs') || []
        logs.unshift(Date.now())
        wx.setStorageSync('logs', logs)

        // 登录
        wx.login({
            success: res => {
                // 发送 res.code 到后台换取 openId, sessionKey, unionId
            }
        })
        // 获取用户信息
        wx.getSetting({
            success: res => {
                if (res.authSetting['scope.userInfo']) {
                    // 已经授权，可以直接调用 getUserInfo 获取头像昵称，不会弹框
                    wx.getUserInfo({
                        success: res => {
                            // 可以将 res 发送给后台解码出 unionId
                            this.globalData.userInfo = res.userInfo

                            // 由于 getUserInfo 是网络请求，可能会在 Page.onLoad 之后才返回
                            // 所以此处加入 callback 以防止这种情况
                            if (this.userInfoReadyCallback) {
                                this.userInfoReadyCallback(res)
                            }
                        }
                    })
                }
            }
        })
        wx.onNetworkStatusChange(res => {
        // 监听网络变化

          if (res.isConnected === false) {
          // 如果没网之后，提示
            wx.showModal({
              title: '温馨提示',
              content: '当前网络无法请求，请检测您的网络是否可用！',
              showCancel: false,
            })
          }
        })
    },
    // 全局的数据
    globalData: {

        // 用户类型：B端用户: admin  ， C端用户: client
        userType: 'admin',
        // H5授权的 openId
        openId: 0,
        // H5授权的临时存储参数
        H5Auth: {
            page: 0, // 0：默认是日历页面
            query: '' // 进入页面时的参数
        },
        // 用户信息
        userInfo: null,
        // 系统信息
        sysInfo: null,
        // 场景值
        scene: 0,
        // 当前是否有网络链接
        isConnected: false,
        // 网络状态
        networkType: '',

        // 位置信息
        locationInfo: {
            isOpen: false, // 是否开启了位置获取
            latitude: -91, // 纬度，浮点数，范围为-90~90，负数表示南纬 
            longitude: 0, // 经度，浮点数，范围为-180~180，负数表示西经
            speed: 0, // 速度，浮点数，单位m/s
            accuracy: 0, // 位置的精确度
            altitude: 0, // 高度，单位 m
            verticalAccuracy: 0, // 垂直精度，单位 m（Android 无法获取，返回 0）
            horizontalAccuracy: 0, // 水平精度，单位 m
            nation: '', // 国家
            city: '', // 城市
        },
        // 支付信息(独立小程序支付后的回传信息)
        payInfo: null,
    },

})